home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 301-325 / disk_319 / cnewssrc / cnews.src.lzh / input / Makefile < prev    next >
Makefile  |  1989-07-06  |  4KB  |  172 lines

  1. # You get your choice of rnews.immed or rnews.batch; rnews.immed tries
  2. # to start processing immediately, while rnews.batch waits for somebody
  3. # else (cron) to do it.  Running rnews.immed might, perhaps, be reasonable
  4. # if your news load is light and you are wildly impatient about processing
  5. # incoming news.  Otherwise, leave this alone.
  6.  
  7. RNEWS = rnews.batch
  8.  
  9. #    AMIGA
  10. #    INCLUDE = ../include
  11. INCLUDE = /include
  12.  
  13. #    AMIGA
  14. #    DEFINES = -I$(INCLUDE)
  15. DEFINES =
  16. #    AMIGA
  17. #    COPTS = -O
  18. COPTS =
  19. #    AMIGA
  20. CC = lc
  21. CFLAGS = $(COPTS) $(DEFINES)
  22.  
  23. LINTFLAGS = $(DEFINES) -ha
  24.  
  25. LDFLAGS = $(CFLAGS)
  26. #    AMIGA
  27. #    LIBS= ../libcnews.a
  28. LIBS= /libcnews.a lib:lc.lib lib:amiga.lib
  29.  
  30. #    AMIGA
  31. #    BATCH = ../batch
  32. BATCH = /batch
  33.  
  34. #    AMIGA
  35. #        I could do "c7decode" and "bdecode", but I won't need'em...
  36. #        What do I do about all the shell scripts in C-News???
  37. #    THEMBIN = newsrun newsrunning recenews recpnews rnews c7decode bdecode
  38. THEMBIN =
  39. THEM = newsspool $(THEMBIN)
  40.  
  41. RBIN = /bin
  42. # =()<NEWSARTS = @<NEWSARTS>@>()=
  43. NEWSARTS = /usr/spool/news
  44. # =()<NEWSBIN = @<NEWSBIN>@>()=
  45. NEWSBIN = /usr/lib/newsbin
  46. # workaround for System V make bug
  47. SHELL = /bin/sh
  48. DTR = README Makefile Flow.Diag newsrun newsrunning newsspool.c \
  49.     c7decode.c rnews.batch bdecode.c recenews recpnews
  50.  
  51. #    Needed for Manx's "make" utility
  52. .c.o:
  53.     $(CC) $(CFLAGS) -c $*.c
  54.  
  55. all:    $(THEM) rnews
  56.  
  57. bininstall:    all
  58.     chmod +x $(THEM) rnews
  59.     -if test ! -d $(NEWSBIN)/input ; then mkdir $(NEWSBIN)/input ; fi
  60.     cp $(THEM) $(NEWSBIN)/input
  61.     cp rnews $(RBIN)/rnews
  62.     cp rnews $(RBIN)/cunbatch
  63.     : "and newsspool needs to be made setuid-news"
  64.  
  65. newsinstall:
  66.     : nothing
  67.  
  68. newsspool: newsspool.o
  69.     blink FROM lib:c.o newsspool.o lib:vfprintf.o TO $@ LIB $(LIBS)
  70. #    $(CC) $(LDFLAGS) newsspool.o $(LIBS) -o $@
  71.  
  72. c7decode: c7decode.o
  73.     blink FROM lib:c.o c7decode.o TO $@ LIB $(LIBS)
  74. #    $(CC) $(LDFLAGS) c7decode.o $(LIBS) -o $@
  75.  
  76. bdecode: bdecode.o $(BATCH)/crctab.o $(LIBS)
  77.     blink FROM lib:c.o bdecode.o TO $@ LIB $(LIBS)
  78. #    $(CC) $(LDFLAGS) bdecode.o $(BATCH)/crctab.o $(LIBS) -o $@
  79.  
  80. $(BATCH)/crctab.o:    $(BATCH)/crctab.c
  81.     ( cd $(BATCH) ; $(MAKE) crctab.o )
  82.  
  83. bdecode.o:    bdecode.c $(BATCH)/coder.h
  84.     $(CC) -c -I$(BATCH) $(CFLAGS) $*.c
  85.  
  86. lint:    newsspool.c
  87.     lint $(LINTFLAGS) newsspool.c 2>&1 | tee lint
  88.  
  89. test.1:
  90.     echo '#! rnews' >$@
  91.     echo 'here is a phony first batch' >>$@
  92.  
  93. test.2:
  94.     echo '#! cunbatch' >$@
  95.     echo '#! rnews' >>$@
  96.     echo 'here is a phony second batch' >>$@
  97.  
  98. test.3p:
  99.     echo '#! rnews' >$@
  100.     echo 'here is a phony third batch' >>$@
  101.  
  102. test.3:    test.3c
  103.     ( echo '#! cunbatch' ; cat test.3c ) >$@
  104.  
  105. test.3c:    test.3p
  106.     : compress tends to return silly exit status for tiny inputs
  107.     -compress -b12 <test.3p >$@
  108.  
  109. test.out:
  110.     echo '#! rnews' >$@
  111.     echo 'here is a phony first batch' >>$@
  112.     echo '#! rnews' >>$@
  113.     echo 'here is a phony second batch' >>$@
  114.     echo '#! rnews' >>$@
  115.     echo 'here is a phony third batch' >>$@
  116.  
  117. rnews.immed:    rnews.batch
  118.     sed '/qqq/s/newsspool/& -i/' rnews.batch >$@
  119.  
  120. rnews:    rnews.batch rnews.immed
  121.     cp $(RNEWS) rnews
  122.     chmod +x rnews
  123.  
  124. setup:    all
  125.     chmod +x rnews.batch rnews.immed
  126.     rm -rf bin
  127.     mkdir bin
  128.     cp $(THEM) bin
  129.     rm -f tmp.1
  130.     here=`pwd` ; echo "cat >>$$here/tmp.1" >bin/relaynews
  131.     echo "echo 1" >bin/spacefor
  132.     echo 'ln $$*' >bin/newslock
  133.     echo 'echo 10' >bin/sizeof
  134.     chmod +x bin/*
  135.     rm -rf in.coming
  136.     mkdir in.coming
  137.  
  138. r:    all test.1 test.2 test.3 test.3c test.out setup
  139.     chmod +x $(THEM)
  140.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./rnews.batch <test.1
  141.     cmp in.coming/* test.1
  142.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./rnews.batch <test.2
  143.     sed 1d test.2 >tmp.2
  144.     cmp `ls -t in.coming | sed -n '1s;^;in.coming/;p'` tmp.2
  145.     rm tmp.2
  146.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./rnews.batch <test.3
  147.     cmp `ls -t in.coming | sed -n '1s;^;in.coming/;p'` test.3c
  148.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./newsrunning off
  149.     test -r in.coming/stop
  150.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./newsrunning on
  151.     test ! -r in.coming/stop
  152.     mkdir in.coming/bad
  153.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./newsrun
  154.     cmp tmp.1 test.out
  155.     test " `echo in.coming/*`" = ' in.coming/bad'
  156.     rm tmp.1
  157.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./rnews.batch <test.1
  158.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./rnews.batch <test.2
  159.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./rnews.immed <test.3
  160.     cmp tmp.1 test.out
  161.     test " `echo in.coming/*`" = ' in.coming/bad'
  162.     rm tmp.1
  163.     rm -r bin in.coming
  164.  
  165. clean:
  166.     rm -f *.o newsspool c7decode tmp.? test.* dtr lint rnews rnews.immed
  167.     rm -f bdecode
  168.     rm -rf in.coming bin
  169.  
  170. dtr:    $(DTR)
  171.     makedtr $(DTR) >dtr
  172.